package config

import (
	"fmt"
	"log"

	"github.com/spf13/viper"
)

var config *viper.Viper

// 读取dev.yaml配置信息 - dev.yaml开发时用
func Init(env string) *viper.Viper {
	// 使用全局变量config
	config = viper.New()

	// 配置的名字，不包括拓展名.yaml
	config.SetConfigName(env)
	config.SetConfigType("yaml")

	config.AddConfigPath("./config")

	// 测试时查找配置文件路径
	// 测试时查找配置文件是相对于测试文件的位置
	// 这里需要返回父级再进入config文件夹找
	config.AddConfigPath("../config")

	// config.WatchConfig()

	if err := config.ReadInConfig(); err != nil {
		fmt.Println(err)
		log.Fatal("配置文件读取失败")
	}

	return config
}

func GetConfig() *viper.Viper {
	return config
}
